SQL 数据库 (MySQL, PostgreSQL) 教程
1. 概述
SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言。MySQL 和 PostgreSQL 是两种流行的开源关系型数据库管理系统(RDBMS)。本教程将介绍如何使用这两种数据库,包括基本概念、安装、配置、基本操作和高级功能。
2. 安装与配置
2.1 MySQL 安装与配置
2.1.1 安装 MySQL
在 Linux 系统上,可以使用以下命令安装 MySQL:
sudo apt-get update
sudo apt-get install mysql-server
在 macOS 上,可以使用 Homebrew 安装:
brew install mysql
2.1.2 配置 MySQL
安装完成后,启动 MySQL 服务:
sudo systemctl start mysql
设置 MySQL 开机自启动:
sudo systemctl enable mysql
2.2 PostgreSQL 安装与配置
2.2.1 安装 PostgreSQL
在 Linux 系统上,可以使用以下命令安装 PostgreSQL:
sudo apt-get update
sudo apt-get install postgresql
在 macOS 上,可以使用 Homebrew 安装:
brew install postgresql
2.2.2 配置 PostgreSQL
安装完成后,启动 PostgreSQL 服务:
sudo systemctl start postgresql
设置 PostgreSQL 开机自启动:
sudo systemctl enable postgresql
3. 基本操作
3.1 连接数据库
3.1.1 连接 MySQL
使用 mysql 命令行工具连接 MySQL:
mysql -u root -p
3.1.2 连接 PostgreSQL
使用 psql 命令行工具连接 PostgreSQL:
psql -U postgres
3.2 创建数据库
3.2.1 在 MySQL 中创建数据库
CREATE DATABASE mydatabase;
3.2.2 在 PostgreSQL 中创建数据库
CREATE DATABASE mydatabase;
3.3 创建表
3.3.1 在 MySQL 中创建表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
email VARCHAR(255)
);
3.3.2 在 PostgreSQL 中创建表
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(255),
email VARCHAR(255)
);
3.4 插入数据
3.4.1 在 MySQL 中插入数据
INSERT INTO users (name, email) VALUES ('John Doe', '[email protected]');
3.4.2 在 PostgreSQL 中插入数据
INSERT INTO users (name, email) VALUES ('John Doe', '[email protected]');
3.5 查询数据
3.5.1 在 MySQL 中查询数据
SELECT * FROM users;
3.5.2 在 PostgreSQL 中查询数据
SELECT * FROM users;
4. 高级功能
4.1 索引
4.1.1 在 MySQL 中创建索引
CREATE INDEX idx_email ON users(email);
4.1.2 在 PostgreSQL 中创建索引
CREATE INDEX idx_email ON users(email);
4.2 事务
4.2.1 在 MySQL 中使用事务
START TRANSACTION;
INSERT INTO users (name, email) VALUES ('Jane Doe', '[email protected]');
COMMIT;
4.2.2 在 PostgreSQL 中使用事务
BEGIN;
INSERT INTO users (name, email) VALUES ('Jane Doe', '[email protected]');
COMMIT;
4.3 视图
4.3.1 在 MySQL 中创建视图
CREATE VIEW user_emails AS
SELECT name, email FROM users;
4.3.2 在 PostgreSQL 中创建视图
CREATE VIEW user_emails AS
SELECT name, email FROM users;
5. 实践练习
5.1 创建一个简单的用户管理系统
- 创建一个名为
user_management的数据库。 - 创建一个名为
users的表,包含id、name、email和password字段。 - 插入几条用户数据。
- 查询所有用户数据。
- 创建一个视图,显示用户的
name和email。
5.2 使用事务管理用户注册
- 创建一个事务,插入一条新用户数据。
- 如果插入成功,提交事务;否则,回滚事务。
6. 总结
本教程介绍了 MySQL 和 PostgreSQL 的基本概念、安装、配置、基本操作和高级功能。通过实践练习,你应该能够掌握如何使用这两种数据库管理系统进行数据管理。在后续的课程中,我们将学习如何将这些数据库与 Express.js 应用集成。